package javase2.day09.demo01;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

/*
一次写入多个字节：
            1.public void write(byte[] b)
            2.public void write(byte[] b,int off)
 */
public class Demo02FileOutputSteam {
    public static void main(String[] args) throws IOException{
        //使用File对象传递数据匿名内部类
        FileOutputStream fos = new FileOutputStream(new File("D:\\gitstudydemo\\src\\javase2\\day09\\demo01\\b.txt"));
        // 1.public void write(byte[] b)
        //如果第一个字节是负数，那么第一个和第二个字节就会组成一个中文显示查询系统默认码表（GBK）ASCII两个字节为一个汉字
        byte[] b1={65,66,67,68,69};
        byte[] b2={-65,-66,-67,68,69};
        fos.write(b1);//ABCDE
        fos.write(b2);//ABCDE烤紻E
//        fos.close();//ABCDE 关闭流后再写入就覆盖原本文件内容 只能关闭一次一个类中java.io.IOException: Stream Closed

        // 2.public void write(byte[] b,int off)
        fos.write(b1,2,2);//ABCDE烤紻ECD
//        fos.close();

        //写入字符串的方法getBytes()
        String s="你好";
        byte[] b3 = s.getBytes();
        System.out.println(Arrays.toString(b3));//[-28, -67, -96, -27, -91, -67]UTF-8三个字节为一个汉字
        fos.write(b3);
        fos.close();
    }

}
